<?php
include_once("conf/conf.php");
class rdgUsuario {
    private $conexion = null;
    private $bd = null;
    private $dataSet = null;

    private function  connect() {
        $bdConf = new Conf();
        $this->conexion = mysql_connect($bdConf->get_databaseURL(), $bdConf->get_databaseUName(), $bdConf->get_databasePWord())
            or die("Se produjo error al conectarse a la Base de Datos");
        $this->bd = mysql_select_db($bdConf->get_databaseName(), $this->conexion)
            or die("Se produjo error al conectarse a la Base de Datos");
    }

    private function desconnect() {
        mysql_close($this->conexion);
    }

    /*
     * Retorna datos del usuario con el ID enviado por parametro
     * Retorna dataSet con los datos
     */
    public function get($userID) {
        $this->connect();
        unset ($this->dataSet);
        $query = "SELECT * FROM Usuario WHERE IDUsuario = $userID;";
        $this->dataSet = mysql_query($query);
        $this->desconnect();
        return $this->dataSet;
    }

    public function getNombre($userID) {
        $this->connect();
        $Nombre = '';
        unset ($this->dataSet);
        $query = "SELECT Nombre, Apellido1, Apellido2 FROM Usuario WHERE IDUsuario = $userID;";
        $this->dataSet = mysql_query($query);
        $this->desconnect();
        if($this->dataSet){
            $data = mysql_fetch_assoc($this->dataSet);
            if($data){
                $Nombre = $data['Nombre'].' '.$data['Apellido1'].' '.$data['Apellido2'];
            }
        }
        return $Nombre;
    }

    /*
     * Agrega usuario nuevo a la BD
     * Retorna true si hubo exito
     */
    public function insert($Login, $Pass, $Nombre, $Apellido1, $Apellido2, $TipoUsuario, $IDUA) {
        $this->connect();
        $UserID = -1;
        $query = "INSERT INTO Usuario (Login, Password, Nombre, Apellido1, Apellido2, TipoUsuario, IDUA ) VALUES ('$Login', '$Pass', '$Nombre', '$Apellido1', '$Apellido2', $TipoUsuario, $IDUA )";
        $exito = mysql_query($query);
        if($exito) {
            $UserID = mysql_insert_id();
        }
        $this->desconnect();
        return $UserID;
    }

    /*
     * Modifica usuario existente en la BD
     * Retorna true si hubo exito
     */
    public function update($UserID, $Login, $Pass, $Nombre, $Apellido1, $Apellido2, $TipoUsuario, $IDUA) {
        $this->connect();
        $query = "UPDATE Usuario SET Password = '$Pass', Nombre = '$Nombre', Apellido1 = '$Apellido1', Apellido2 = '$Apellido2', TipoUsuario = $TipoUsuario, IDUA = $IDUA WHERE IDUsuario = $UserID;";
        $exito = mysql_query($query);
        $this->desconnect();
        return $exito;
    }

    /*
     * Comprueba si el usuario y contraseña coinciden
     * Retorna dataSet con los datos del usuario
     */
    public function checkLogin($userName, $Pass) {
        $this->connect();
        $result = false;
        unset ($this->dataSet);
        $query = "SELECT IDUsuario, TipoUsuario FROM Usuario WHERE Login = '$userName' AND Password = '$Pass'";
        $this->dataSet = mysql_query($query);
        $this->desconnect();
        return $this->dataSet;
    }

    /*
     * Comprueba si el usuario ya existe
     * Retorna true si usuario ya existe
     */
    public function existeUsuario($userName) {
        $this->connect();
        $nombre = strtolower($userName);
        $result = false;
        unset ($this->dataSet);
        $query = "SELECT Login  FROM Usuario WHERE Login = '$nombre'";
        $this->dataSet = mysql_query($query);
        $data = mysql_fetch_array($this->dataSet);
        if($data) {
            $result = true;
        }
        $this->desconnect();
        return $result;
    }
}

?>
